import numpy as np
# arr：输入数组，如果不是一维数组则会展开
# return_index：如果为 true，返回新列表元素在旧列表中的位置（下标），并以列表形式存储。
# return_inverse：如果为true，返回旧列表元素在新列表中的位置（下标），并以列表形式存储。
# return_counts：如果为 true，返回去重数组中的元素在原数组中的出现次数。
img_size = 32
ds_size = img_size // 2 ** 4
ss = 128 * ds_size ** 2

img_size = 224
ds_size = img_size // 2 ** 4
ss2 =  128 * ds_size ** 2

A = [1, 2, 2, 5, 3, 4, 3]
a = np.unique(A)
print(a)
print("______")

a, indices = np.unique(A, return_index=True)   # 返回新列表元素在旧列表中的位置（下标）
print(a)		 # 列表
print(indices)	 # 下标
print("______")

a, indices = np.unique(A, return_inverse=True)   # 旧列表的元素在新列表的位置
print(a)
print(indices)
print(a[indices])     # 使用下标重构原数组
print("______")

a, indices = np.unique(A, return_counts=True)    # 每个元素在旧列表里各自出现了几次
print(a)
print(indices)
print("______")

B = ([1, 2], [2, 5], [3, 4])
b = np.unique(B)
C= ['fgfh','asd','fgfh','asdfds','wrh']
c= np.unique(C)
print(b)
print(c)
